cloudflare 配置301跳转

1,348次阅读
没有评论

共计 1287 个字符,预计需要花费 4 分钟才能阅读完成。

更新记录

2023-10-23

其实在有公网服务器的情况下,301跳转可以直接在 nginx 上配置。之前我想的是源站和 nginx 在同一台server,不想暴露源站。

利用 cf 自带的 cdn 即可。将域名解析到 nginx,再开启 proxy。

添加域名解析并配置 proxy

cloudflare 配置301跳转

ssl开启为完全模式

cloudflare 配置301跳转

nginx 301 配置

server {
  listen 80;
  server_name opshub.cn;

  return 301 https://www.opshub.cn$request_uri;
}

至此,利用了 cloudflare 的免费cdn实现了隐藏源站,但是用户首次访问会较慢的情况仍无法避免。

背景

站点的新域名是 www.opshub.cn​,我期望 opshub.cn​ 能够和 www.opshub.cn​ 一样提供服务。

有两种实现方向:

  • cdn :现在 www.opshub.cn​ 使用了腾讯云的cdn,那么我需要再添加一个 opshub.cn​ 的cdn域名。
  • 301 跳转:
    • nginx 上其实可以很简单的实现,但是这依赖于域名能够解析到公网服务器上的 nginx,而 www.opshub.cn​ 使用了腾讯云的 cdn。我不希望在配置 opshub.cn​ 的解析时暴露源站IP。
    • 利用 cloudflare 的页面规则

cdn方式 对比 nginx 301 跳转,会增加维护的成本,因为 www.opshub.cn​ 和 opshub.cn​ 的 cdn 配置完全一致,当后续想要变更配置时,原本只需要维护一个域名,现在需要维护两个。

利用 cloudflare 进行 301 跳转,是成本最低且一劳永逸的最佳实践,并且安全性也得到了保障,源站会隐藏在 cloudflare 之后。

操作

添加 dns 解析

此解析其实没有实际意义,只是为了让流量能够经过cloudflare进行处理。解析值理论可填写任意值。

注意,需要开启 proxy 模式。

cloudflare 配置301跳转

添加页面规则

免费的套餐最大支持添加3个页面规则

依次点击 域名​ –> 规则​ –> 页面规则​ –> 创建页面规则

cloudflare 配置301跳转

创建页面规则并保存

URL:opshub.cn/*

选取设置:转发URL

选择状态代码:301

目标URL:https://www.opshub.cn/$1

cloudflare 配置301跳转

测试

测试前可以等待5min左右让页面规则和解析生效。

使用 www.dute.org/httpstatus 进行页面跳转测试:

cloudflare 配置301跳转

使用 www.itdog.cn/http/ 进行页面访问速度测试:

https://www.opshub.cn

​​cloudflare 配置301跳转​​

https://opshub.cn

cloudflare 配置301跳转

结论

cloudflare 上配置301跳转,流量会先到 cloudflare,cloudflare 捕获到请求后再转发到我们配置的跳转后域名上。

直观表现就是访问速度变慢,因为 cloudflare 在中国大陆没有节点。

不过只有首次访问会变慢,当执行完成跳转后,用户会直接访问 www.opshub.cn,流量也不会再经过 cloudflare。

如果有多余的国内公网服务器,用 nginx 来做效果会更好。我是因为公网服务器即是源站,也是 nginx 网关,所以选择了cloudflare。

引用链接

正文完
 
pengyinwei
版权声明:本站原创文章,由 pengyinwei 2023-10-18发表,共计1287字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处:https://www.opshub.cn
评论(没有评论)